package com.menu.Mapper;

import com.menu.Pojo.Message;
import com.menu.Pojo.MessageVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MessageMapper {

    /**
     * 用户发送反馈
     * @param message
     * @return
     */
    Integer sendMessage(Message message);

    /**
     * 查询消息
     * @param userId
     * @param type
     * @param state
     * @return
     */
    List<Message> queryMessage(@Param("userId") Integer userId, @Param("type") Integer type, @Param("state") Integer state);

    /**
     * 查询显示
     * @param type
     * @param state
     */
    List<MessageVo> queryforVo(Integer type, Integer state);

    /**
     * 管理员查询详细信息
     * @param messageId
     * @return
     */
    Message queryForDetail(Long messageId);

    /**
     *
     * @param userId
     * @param content
     * @param messageId
     * @param timestamp
     * @return
     */
    Integer resolve(@Param("userId") Integer userId, @Param("content") String content,@Param("messageId") Long messageId, @Param("resolveTime") String timestamp);

    /**
     * 删除
     * @param messageId
     * @param userId
     */
    Integer deleteMessage(@Param("messageId") Integer[] messageId, @Param("userId") Integer userId);

    /**
     * 查询未读的官方通知
     * @param userId
     * @return
     */
    Integer queryForMessage(Integer userId);

    /**
     * 批量修改状态
     * @param ids
     */
    void updateState(@Param("ids") Long[] ids);
}
